package com.zdpx.pxframework.auth.api;

import com.zdpx.pxframework.core.pojo.LoginUser;
import com.zdpx.pxframework.core.vo.Result;
import com.zdpx.pxframework.security.annotation.InnerAuth;

/**
 * TOKEN Swagger API
 *
 * @Description:
 * @Author: Cheng XiaoXiao
 * @Date: 2022/5/31 16:43
 */
public interface TokenControllerApi {
    /**
     * 根据token获取用户信息
     *
     * @param token token
     * @return 用户信息
     */
    @InnerAuth
    Result<LoginUser> getLoginUserByToken(String token);

    /**
     * 删除用户Token
     *
     * @param token token
     * @return 是否删除
     */
    @InnerAuth
    Result<Boolean> deleteToken(String token);

    /**
     * 刷新token的过期时间
     *
     * @param token token
     * @return 刷新结果信息
     */
    @InnerAuth
    Result<Boolean> refreshToken(String token);

}
